<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <meta http-equiv="X-UA-Compatible" content="ie=edge"/>
        <title>Document</title>
        <script>
            /* 
                
                字符串概念：所有带单引号或者双引号的都叫做字符串。
                字符串声明：
                    1、通过new运算符去声明字符串
                    2、省略new声明字符串
                    3、字符串常量赋值
             */
            var str1 = new String(100);
            // alert(str1 + 20);
            alert(typeof str1); //object  对象 引用数据类型
            var str2 = String(100);
            // alert(str2 + 20);
            alert(typeof str2); //string

            var str3 = "100";
            alert(typeof str3); //string
            // alert(str3);


            /* 
                访问字符串中的字符：
                    字符串.length  访问字符串中字符的个数。
                    【注】中文 utf-8(三个字符表示一个汉字))  gbk(两个字符表示一个汉字)  在计数的时候都是当做一个汉字计数。

                访问字符串中单个字符：
                    字符串.charAt(下标)  【注】从0开始的
                    字符串[下标]

                【注】字符串是只读，字符串一旦被声明就没有办法被修改，如果非要声明字符串，我们只能讲原字符串效果，重新生成新的字符串。
                【注】在JS中，字符串既是基本数据类型，又是复合数据类型。
             */
            /*  var str = "hello北京";
            //  alert(str.length);
            // alert(str.charAt(4));
            alert(str[4]);
            str[4] = "x";
            alert(str); */

            /* 
                字符串中的字符进行遍历也可以通过循环遍历。
             */
             var str = "hello北京";
             var str2 = str;
             for(var i = 0; i < str.length; i++){
                 document.write(str[i] + "<br/>");
             }
        </script>
    </head>
    <body>
        
    </body>
</html>